
package com.jf.cloud.common.order.vo;

import io.swagger.v3.oas.annotations.media.Schema;

import java.util.Date;
import java.util.List;

/**
 * @author zz
 * @date 2020/12/9
 */
public class CouponOrderVO {

    @Schema(description = "优惠券ID" )
    private Long couponId;

    @Schema(description = "店铺ID" )
    private Long shopId;

    @Schema(description = "优惠券名称" )
    private String couponName;

    @Schema(description = "使用条件" )
    private Long cashCondition;

    @Schema(description = "减免金额" )
    private Long reduceAmount;

    @Schema(description = "折扣额度" )
    private Double couponDiscount;

    @Schema(description = "开始时间" )
    private Date startTime;

    @Schema(description = "结束时间" )
    private Date endTime;

    @Schema(description = "指定的商品id" )
    private List<Long> spuIds;

    @Schema(description = "适用商品类型 0全部商品参与 1指定商品参与" )
    private Integer suitableProdType;

    @Schema(description = "是否可用" )
    private Boolean canUse;

    @Schema(description = "是否选中" )
    private Boolean isChoose;

    @Schema(description = "优惠类型 1:代金券 2:折扣券 3:兑换券" )
    private Integer couponType;

    @Schema(description = "用户优惠券id" )
    private Long couponUserId;

    /**
     * 使用该优惠券的订单id
     */
    private Long orderId;
    /**
     * 使用该优惠券的订单ids
     */
    private List<Long> orderIds;

    public List<Long> getOrderIds() {
        return orderIds;
    }

    public void setOrderIds(List<Long> orderIds) {
        this.orderIds = orderIds;
    }

    public Long getCouponId() {
        return couponId;
    }

    public void setCouponId(Long couponId) {
        this.couponId = couponId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getCouponName() {
        return couponName;
    }

    public void setCouponName(String couponName) {
        this.couponName = couponName;
    }

    public Long getCashCondition() {
        return cashCondition;
    }

    public void setCashCondition(Long cashCondition) {
        this.cashCondition = cashCondition;
    }

    public Long getReduceAmount() {
        return reduceAmount;
    }

    public void setReduceAmount(Long reduceAmount) {
        this.reduceAmount = reduceAmount;
    }

    public Double getCouponDiscount() {
        return couponDiscount;
    }

    public void setCouponDiscount(Double couponDiscount) {
        this.couponDiscount = couponDiscount;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    @Override
    public String toString() {
        return "CouponOrderVO{" +
                "couponId=" + couponId +
                ", shopId=" + shopId +
                ", couponName='" + couponName + '\'' +
                ", cashCondition=" + cashCondition +
                ", reduceAmount=" + reduceAmount +
                ", couponDiscount=" + couponDiscount +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                '}';
    }

    public List<Long> getSpuIds() {
        return spuIds;
    }

    public void setSpuIds(List<Long> spuIds) {
        this.spuIds = spuIds;
    }

    public Integer getSuitableProdType() {
        return suitableProdType;
    }

    public void setSuitableProdType(Integer suitableProdType) {
        this.suitableProdType = suitableProdType;
    }

    public Boolean getCanUse() {
        return canUse;
    }

    public void setCanUse(Boolean canUse) {
        this.canUse = canUse;
    }

    public Boolean getChoose() {
        return isChoose;
    }

    public void setChoose(Boolean choose) {
        isChoose = choose;
    }

    public Integer getCouponType() {
        return couponType;
    }

    public void setCouponType(Integer couponType) {
        this.couponType = couponType;
    }

    public Long getCouponUserId() {
        return couponUserId;
    }

    public void setCouponUserId(Long couponUserId) {
        this.couponUserId = couponUserId;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }
}
